//HT1622驱动的段码屏
#include <stdint.h>
#include "APP_Main.h"
#include "GN1621_Pin.h"



#define Lcd_CS_H GPIO_Write_High(GPIOB0,IO_Lcd_CS)
#define Lcd_CS_L GPIO_Write_Low(GPIOB0,IO_Lcd_CS)
#define Lcd_WR_H GPIO_Write_High(GPIOB0,IO_Lcd_WR)
#define Lcd_WR_L GPIO_Write_Low(GPIOB0,IO_Lcd_WR)
#define IO_Lcd_Data_H GPIO_Write_High(GPIOB0,IO_Lcd_Data)
#define IO_Lcd_Data_L GPIO_Write_Low(GPIOB0,IO_Lcd_Data)



#define IO_Lcd_CS EXI5 //PB
#define IO_Lcd_WR EXI4
#define IO_Lcd_Data EXI1
#define IO_Lcd_ON_OFF EXI13 
void GN1621_Pin_Config(void)
{
	GPIO_Init(GPIOB0,IO_Lcd_CS,Output);
    GPIO_Init(GPIOB0,IO_Lcd_WR,Output);
    GPIO_Init(GPIOB0,IO_Lcd_Data,Output);
	GPIO_Init(GPIOA0,IO_Lcd_ON_OFF,Output);
	
//	GPIO_OpenDrain_EN(GPIOB0,IO_Lcd_CS);
//	GPIO_OpenDrain_EN(GPIOB0,IO_Lcd_WR);
//	GPIO_OpenDrain_EN(GPIOB0,IO_Lcd_Data);
	
//	GPIO_Init(GPIOB0,IO_Lcd_CS,Output);
//    GPIO_Init(GPIOB0,IO_Lcd_WR,Output);
//    GPIO_Init(GPIOB0,IO_Lcd_Data,Output);
//	GPIO_Init(GPIOA0,IO_Lcd_ON_OFF,Output);

    Lcd_CS_H;
    Lcd_WR_H;
    IO_Lcd_Data_H;
}

void GN1621_CS_Handled(uint8_t val)
{
    if(val == 0) Lcd_CS_L;
    else Lcd_CS_H;
}
void GN1621_WR_Handled(uint8_t val)
{
    if(val == 0) Lcd_WR_L;
    else Lcd_WR_H;
}
void GN1621_Data_Handled(uint8_t val)
{
    if(val == 0) IO_Lcd_Data_L;
    else IO_Lcd_Data_H;
}
